<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    //1. 依次输出什么?
    /* global begin: undefined
       foo() begin:1
       foo() begin:2
       foo() begin:3

       foo() end:3
       foo() end:2
       foo() end:1
       global end:1
    * */
    //2. 整个过程中产生了几个执行上下文?
    // [
    //    globalContext,
    //    foo(1),
    //    foo(2),
    //    foo(3),
    //    foo(4),
    // ]
    console.log('global begin: '+ i)
    var i = 1
    foo(1);
    function foo(i) {
        if (i == 4) {
            return;
        }
        console.log('foo() begin:' + i);
        foo(i + 1);
        console.log('foo() end:' + i);
    }
    console.log('global end: ' + i);

</script>
</html>